1. Field of the Invention
The present invention relates to memory devices. It finds particular application in the field of magnetic disk drive emulation.
2. Description of the Related Art
Non-volatile memories are frequently used in semiconductor applications because the store information without the need for power to be applied to the memory. In particular non-volatile memories are used as solid state storage devices for emulating magnetic disks.
European Patent Application No. 0615184A2 (IBM) shows a FLASH memory filing system which is protected against block and device failures by storing data in duplicate and using a redundancy area in each logical block in association with error correction codes. Cluster management information is stored in headers which are written in duplicate to two physical blocks. Included in this information is an erase counter to ensure that the physical limit for a block is not exceeded.
One type of non-volatile memory commonly used for disk drive emulation is FLASH EPROM FLASH EPROM has a number of peculiar characteristics. For example data can only be written to a location which has previously been erased. Individual locations cannot be erased, the memory must be bulk erased in units of an erasable block. Permanent failure of the cell may result from too many write/erase cycles. Typically, the total number of times that a location may be erased and written is limited to the range 100.000 to 1.000.000 cycles.
There are certain characteristics of solid state disk memories that use FLASH EPROM. The memory medium must be bulk erased in units of an erasable block which is normally greater than the size of a data block (also known as a sector). Since a cell of FLASH EPROM cannot be modified without an erase operation being performed first, rewriting of a sector must occur in a different physical location causing the contents of its previous location to become obsolete.
Data transferred to a memory system from a host is termed a logical sector and it corresponds to a logical address. This logical address is translated by the memory system to a physical address which addresses a physical location in the memory.
Sectors in the memory which contain valid data must be relocated from an erasable block before the block can be erased to recover memory space occupied by obsolete sectors. The physical location allocated to a logical sector address is variable that is a physical location will not always correspond to one particular logical address. Therefore the physical locations that correspond to the logical addresses must be stored in a lookup table or a similar device to record the logical to physical address mappings. The algorithms used for writing sector data to the memory medium and for erasing the memory medium must ensure uniform utilisation of the medium and elimination of any memory xe2x80x9chot-spotsxe2x80x9d and wear-out effects.
Information must be stored in a non-volatile memory to allow the control system for the solid state storage device which is emulating the magnetic disk to be correctly initialised after electrical power has been removed and then restored. This information (the control information) includes memory address pointers which must be known to reestablish correctly the algorithms for erasing or writing. Status information relating to execution of critical operations such as the relocation of blocks of data within the memory system is also included in the control information.
Storage of control information presents no problem for magnetic disks because a full directory for locating files and sectors on a disk can be located at a known physical location on the disk. Data within this directory can be modified and rewritten at the same physical location. A magnetic disk does not require bulk erasure of the storage medium before data can be written. Neither is there any hazard to the reliability of the disk by repeatedly writing and erasing the same location.
However storage of control information is a problem for non-byte erasable memory because the information must be in a physical location which can be located by the control system after electrical power has been removed and then restored. Control information cannot be updated in a fixed physical location without bulk erasure of the memory medium but the number of erase/write cycles which can be applied to control information at a fixed physical location is restricted by the limited endurance characteristics of the technology. The limited write/erase cycle endurance of FLASH EPROM technology is particularly acute.
Previous teaching is that the solution to the problem of having to modify the control information frequently on a block erasable memory lies in storing the control information in a different location each time it is written. This however has a number of serious problems associated with it. If power is unexpectedly lost because of a power cut or accidental removal of the memory from the host then the system would have no way of locating the control information necessary for operating the system because it would be stored in a random place.
The present invention is therefore concerned with repeatedly storing information in different locations in memory while ensuring that in the event of an unexpected power loss the said information can be recovered.
According to the present invention there is provided a memory device comprising a user interface a controller, a store, and address mapping means for mapping a first address from the user interface to a second address for accessing the store where the controller stores information in successive regions of the store each time the information is updated.